package com.openlogic.common.logic.event;

import org.noear.solon.cloud.CloudClient;
import org.noear.solon.cloud.model.Event;

import com.alibaba.fastjson2.JSONObject;

/**
 * @ClassName: RuleExecEventPublisher
 * @Description: 决策日志事件监听
 * @author weiyongpeng
 * @date 2025年2月3日 上午11:11:25
 */
public class RuleExecEventPublisher {

	/**
	 * 描述：发布事件-决策日志
	 * @Title: publishLogListener
	 * @param ruleExecEventModel
	 * @return
	 * @author weiyongpeng
	 * @date 2025年2月3日 上午11:11:18
	 */
	public boolean publishLogListener(RuleExecEventModel ruleExecEventModel) {
		// 这里使用的是eventplus分布式事件扩展包，需要配合Solon Cloud Event插件使用，这里使用rabbitmq作为事件处理器组件
		Event event = new Event("rule.log.event", JSONObject.toJSONString(ruleExecEventModel)).group("rule");
		return CloudClient.event().publish(event);
	}
}
